#ifndef AST_DECLARATIONS_POINTER_H
#define AST_DECLARATIONS_POINTER_H

#include "../ASTNode.h"
class TypeQualifierList;

/*
C99   6.7.5
pointer:
		*   type-qualifier-list(opt)
		*   type-qualifier-list(opt)   pointer
*/
class Pointer : public ASTNode
{
public:
	Pointer(TypeQualifierList *pTQualList = NULL)
		: ASTNode(ASTNode::pointer)
		, m_pTQualList(pTQualList){};

	Pointer(Pointer *pPointer, TypeQualifierList *pTQualList = NULL)
		: ASTNode(ASTNode::pointer)
		, m_pTQualList(pTQualList)
		, m_pPointer(pPointer){};


	virtual ~Pointer(void);


	virtual void					codeGen();

protected:
	TypeQualifierList *					m_pTQualList;
	Pointer *							m_pPointer;
};


#endif

